package com.xiaoqi.dao;

import com.xiaoqi.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author PC
 * creationTime: 2022/10/18 17:43
 */
public interface CheckGroupDao {

    /**
     * 查询所有检查组
     * @return
     */
    List<CheckGroup> findAll();

    /**
     * 根据条件"编码/名称/助记码"查询所有检查组
     * @return
     */
    List<CheckGroup> findPage(String fuzzy);

    /**
     * 新增检查项
     * @param checkGroup
     */
    void addCheckGroup(CheckGroup checkGroup);

    /**
     * 将检查组与检查项关联增加中间表
     * @param GroupId
     * @param ItemId
     */
    void addCheckGroup_CheckItem(@Param("GroupId")Integer GroupId,@Param("ItemId")Integer ItemId);

    /**
     * 根据条件检查组"id"查询检查组
     * @return
     */
    CheckGroup findById(Integer id);


    /**
     * 根据条件检查组"id"查询检查组关联的检查项ids
     * @return
     */
    List<Integer> findCheckGroup_CheckItemById(Integer id);

    /**
     * 根据条件检查组"id"修改检查组信息
     * @return
     */
    void update(CheckGroup checkGroup);

    /**
     * 根据条件检查组"id"删除与检查项的关联
     * @param id
     */
    void delCheckGroup_CheckItem(Integer id);


    /**
     * 根据条件检查组"id"删除检查组
     * @param id
     */
    void delCheckGroup(Integer id);

    /**
     * 根据条件检查组"id"查询检查组是否被套餐关联
     * @param id
     */
    Integer findSetMeal_CheckGroupByid(Integer id);

}
